스프레드시트는 학교 정보를 정리할 때 시작하기에 매우 편리한 도구입니다. 그러나 학생, 과목, 교사, 수강 신청 내역 등 모든 기록을 하나의 거대하고 과부하된 시트에 보관하면 데이터가 끊임없이 반복되고 시스템이 무너지게 됩니다. 한 학생이 여러 과목을 수강하면 개인 정보를 반복해서 작성해야 하므로 지저분한 중복과 심각한 유지보수 문제가 발생합니다.
데이터베이스 설계의 핵심 개념
- 데이터 중복: 한 과목에 여러 학생이 포함되면 과목과 교사 정보가 여러 행에 걸쳐 반복되어 공간을 낭비하고 오류를 유발합니다.
- 갱신 이상: Sam이 전화번호를 변경했는데 한 곳에서만 수정하면 시트 전체에 상충되는 정보가 가득 차게 됩니다.
- 요구사항 분석: 신뢰할 수 있는 설계는 이러한 문제점을 발견하고 개체, 속성, 관계를 파악하는 것에서 시작됩니다.
구조가 필요한 이유
잘 설계된 데이터베이스는 동일한 학생-과목 쌍이 실수로 두 번 나타나는 것과 같은 오류를 방지합니다. 서로 다른 개념을 적절히 구조화된 테이블로 분리하면 각 행이 하나의 일관된 객체 유형을 나타내어 안정적인 작업을 보장합니다.
설계 원칙
모든 설계 결정은 막연한 관례가 아니라 명시된 요구사항에서 직접적으로 비롯되어야 하며, 이를 통해 아키텍처가 실제 세계를 정확하게 모델링할 수 있습니다.
